package com.liang.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liang.entity.CBlog;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 李昂
 * @since 2020-11-30
 */
public interface CBlogService extends IService<CBlog> {

    //写博客
    boolean WriteBlog(CBlog blog);

    //查看blog
    List<CBlog> getBlog(String id,String type);

    //查看blog container
    String getContainer(int bid);

    //修改blog内容
    boolean modifyBlog(int bid, String title, String container,String type);

    //删除blog
    boolean deleteBlog(int bid);

    //观看总数-- 使用乐观锁机制
    boolean lookBlog(int bid);

    //点赞总数-- 使用乐观锁机制
    boolean Praise(int bid, String id);

    //查看点赞数
    int getPraise(int bid, String id);

    //评论总数-- 使用乐观锁机制
    boolean commentTotal(int bid);

    //备份历史blog数据  ----定时任务
    boolean produceBlog();

    //删除超出七天的历史数据 ----定时任务
    boolean deleteProduce();

    //得到7天blog数据
    List<CBlog> getHistoryBlogData(String id);

    //查看blog类型的观看数，评论数，点赞
    List<CBlog> getBlogType(String id);

    //游客可查看的blog页面
    IPage<CBlog> selectPageBlog(Page<CBlog> page, Integer state);

    //blog搜索
    List<CBlog> BlogSearch(String title);

}
